/*
 * © 2024 huayunliufeng保留所有权利, 依据MIT许可证发布。
 * 请勿更改或删除版权声明或此文件头。
 * 此代码是免费软件, 您可以重新分发和/或修改它。
 * 开源是希望它有用, 但不对代码做任何保证。
 * 如有疑问请联系: huayunliufeng@163.com
 */

package priv.zq.zliao.sjo.utils;


import io.github.huayunliufeng.common.utils.HylfDataUtil;
import io.github.huayunliufeng.common.utils.HylfFunUtil;
import priv.zq.zliao.sjo.model.ConfigProperties;

import java.io.InputStream;
import java.util.Properties;

/**
 * 读取配置文件
 *
 * @author zhongq
 * @datetime 2024/4/2 9:35
 */
public class ReadPropertiesUtil {
    public static final String configName = "config.properties";

    public static ConfigProperties readProperties() {
        String logFormat = "读取配置文件失败。";
        return HylfFunUtil.methodVoidReturnExec(() -> {
            Properties properties = new Properties();
            InputStream stream = ReadPropertiesUtil.class.getClassLoader().getResourceAsStream(configName);
            properties.load(stream);
            HylfFunUtil.autoClose(stream);
            return HylfDataUtil.mapToJavaBean(properties::get, ConfigProperties.class);
        }, 1, logFormat);
    }
}
